// 全局作用域
const a = 10;

// 块级作用域
{
  const b = 20;
  var d = 40;
}

function msg() {
  // 函数作用域
  const c = 30;
  var d = 50;
}

msg();

console.log(a); // 10
console.log(d); // 40
console.log(b); // ReferenceError: b is not defined
console.log(c); // ReferenceError: c is not defined

// ES6 之前只有全局作用域，ES6 引入了 let 和 const。
// let 和 const 是块级作用域，var 是函数作用域。
